package org.dfzt.modules.online.cgform.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import freemarker.template.TemplateException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.hibernate.HibernateException;
import org.dfzt.common.api.vo.Result;
import org.dfzt.modules.online.cgform.entity.OnlCgformButton;
import org.dfzt.modules.online.cgform.entity.OnlCgformEnhanceJava;
import org.dfzt.modules.online.cgform.entity.OnlCgformEnhanceJs;
import org.dfzt.modules.online.cgform.entity.OnlCgformEnhanceSql;
import org.dfzt.modules.online.cgform.entity.OnlCgformHead;
import org.dfzt.modules.online.cgform.model.OnlGenerateModel;
import org.dfzt.modules.online.cgform.model.OnlCgformModel;
import org.dfzt.modules.online.config.exception.BusinessException;
import org.dfzt.modules.online.config.exception.DBException;

public interface IOnlCgformHeadService extends IService<OnlCgformHead> {
  Result<?> addAll(OnlCgformModel parama);
  
  Result<?> editAll(OnlCgformModel parama);
  
  void doDbSynch(String paramString1, String paramString2) throws HibernateException, IOException, TemplateException, SQLException, DBException;
  
  void deleteRecordAndTable(String paramString) throws DBException, SQLException;
  
  void deleteRecord(String paramString) throws DBException, SQLException;
  
  List<Map<String, Object>> queryListData(String paramString);
  
  OnlCgformEnhanceJs queryEnhance(String paramString1, String paramString2);
  
  void saveEnhance(OnlCgformEnhanceJs paramOnlCgformEnhanceJs);
  
  void editEnhance(OnlCgformEnhanceJs paramOnlCgformEnhanceJs);
  
  OnlCgformEnhanceSql queryEnhanceSql(String paramString1, String paramString2);
  
  void saveEnhance(OnlCgformEnhanceSql paramOnlCgformEnhanceSql);
  
  void editEnhance(OnlCgformEnhanceSql paramOnlCgformEnhanceSql);
  
  OnlCgformEnhanceJava queryEnhanceJava(OnlCgformEnhanceJava paramOnlCgformEnhanceJava);
  
  boolean checkOnlyEnhance(OnlCgformEnhanceJava paramOnlCgformEnhanceJava);
  
  void saveEnhance(OnlCgformEnhanceJava paramOnlCgformEnhanceJava);
  
  void editEnhance(OnlCgformEnhanceJava paramOnlCgformEnhanceJava);
  
  List<OnlCgformButton> queryButtonList(String paramString, boolean paramBoolean);
  
  List<OnlCgformButton> queryButtonList(String paramString);
  
  List<String> queryOnlinetables();
  
  void saveDbTable2Online(String paramString) throws DBException, SQLException;
  
  JSONObject queryFormItem(OnlCgformHead paramOnlCgformHead);
  
  void saveManyFormData(String paramString1, JSONObject paramJSONObject, String paramString2) throws DBException, BusinessException;
  
  Map<String, Object> queryManyFormData(String paramString1, String paramString2) throws DBException;
  
  List<Map<String, Object>> queryManySubFormData(String paramString1, String paramString2) throws DBException;
  
  Map<String, Object> querySubFormData(String paramString1, String paramString2) throws DBException;
  
  void editManyFormData(String paramString, JSONObject paramJSONObject) throws DBException, BusinessException;
  
  int executeEnhanceJava(String paramString1, String paramString2, OnlCgformHead paramOnlCgformHead, JSONObject paramJSONObject) throws BusinessException;
  
  void executeEnhanceExport(OnlCgformHead paramOnlCgformHead, List<Map<String, Object>> paramList) throws BusinessException;
  
  void executeEnhanceList(OnlCgformHead paramOnlCgformHead, String paramString, List<Map<String, Object>> paramList) throws BusinessException;
  
  void executeEnhanceSql(String paramString1, String paramString2, JSONObject paramJSONObject);
  
  void executeCustomerButton(String paramString1, String paramString2, String paramString3) throws BusinessException;
  
  List<OnlCgformButton> queryValidButtonList(String paramString);
  
  OnlCgformEnhanceJs queryEnhanceJs(String paramString1, String paramString2);
  
  void deleteOneTableInfo(String paramString1, String paramString2) throws HibernateException, IOException, TemplateException, SQLException, DBException, BusinessException;
  
  List<String> generateCode(OnlGenerateModel paramOnlGenerateModel) throws Exception;
  
  List<String> generateOneToMany(OnlGenerateModel paramOnlGenerateModel) throws Exception;
  
  void addCrazyFormData(String paramString, JSONObject paramJSONObject) throws DBException, BusinessException, UnsupportedEncodingException;
  
  void editCrazyFormData(String paramString, JSONObject paramJSONObject) throws DBException, BusinessException, UnsupportedEncodingException;
  
  Integer getMaxCopyVersion(String paramString);
  
  void copyOnlineTableConfig(OnlCgformHead paramOnlCgformHead) throws Exception;
  
  void initCopyState(List<OnlCgformHead> paramList);
  
  void deleteBatch(String paramString1, String paramString2) throws HibernateException, IOException, TemplateException, SQLException, DBException;
  
  void updateParentNode(OnlCgformHead paramOnlCgformHead, String paramString);
}
